Keyword based message handling

ABSTRACT

An apparatus comprising a controller, wherein said controller is configured to display a message text, receive an input indicating a keyword; determine an associated operation and to generate a response message according to the associated operation.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of application Ser. No.12/493,965, filed Jun. 29, 2009. The disclosure of the above applicationis hereby incorporated herein in its entirety by reference.

FIELD

The present application relates to a user interface, an apparatus, acomputer readable medium and a method for improved message handling, andin particular to a user interface, an apparatus, a computer readablemedium and a method for improved control of automatic replies tomessages.

BACKGROUND

Contemporary apparatuses are equipped to send and receive messages in anumber of different formats whether they be electronic mail messages,short text messages using a format, such as the Short Message Service(SMS) or Multi Media Service (MMS), or instant messages such as chatmessages.

These services require a user to press a number of keys to reply evenwhen the reply is relatively obvious from the message content. This canbe annoying to a user and is also time consuming and tedious.

A more efficient way of replying to messages is thus needed.

An apparatus that allows easy and efficient replying to messages wouldthus be useful in modern day society.

SUMMARY

On this background, it would be advantageous to provide a userinterface, an apparatus and a method that overcomes or at least reducesthe drawbacks indicated above by providing an apparatus, a method, acomputer readable medium and a user interface according to the claims.

Further objects, features, advantages and properties of device, methodand computer readable medium according to the present application willbecome apparent from the detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

In the following detailed portion of the present description, theteachings of the present application will be explained in more detailwith reference to the example embodiments shown in the drawings, inwhich:

FIG. 1 is an overview of a telecommunications system in which a deviceaccording to the present application may be used according to an exampleembodiment,

FIGS. 2a and b are views of each an apparatus according to an exampleembodiment,

FIG. 3 is a block diagram illustrating the general architecture of anapparatus of FIG. 2 in accordance with the present application,

FIGS. 4a to 4d are screen shot views of an apparatus according to anexample embodiment,

FIGS. 5a and b are flow charts each describing a method according to anexample embodiment of the application,

FIGS. 6a to d are screen shot views of an apparatus according to anexample embodiment, and

FIGS. 7a to d are screen shot views of an apparatus according to anexample embodiment.

DETAILED DESCRIPTION

In the following detailed description, the user interface, theapparatus, the method and the software product according to theteachings for this application in the form of a cellular/mobile phonewill be described by the embodiments. It should be noted that althoughonly a mobile phone is described the teachings of this application canalso be used in any electronic device such as in portable electronicdevices such as laptops, PDAs, mobile communication terminals,electronic books and notepads and other electronic devices offeringaccess to information.

FIG. 1 illustrates an example of a cellular telecommunications system inwhich the teachings of the present application may be applied. In thetelecommunication system of FIG. 1, various telecommunications servicessuch as cellular voice calls, www or Wireless Application Protocol (WAP)browsing, cellular video calls, data calls, facsimile transmissions,music transmissions, still image transmissions, video transmissions,electronic message transmissions and electronic commerce may beperformed between a mobile terminal 100 according to the teachings ofthe present application and other devices, such as another mobileterminal 106 or a stationary telephone 132. It is to be noted that fordifferent embodiments of the mobile terminal 100 and in differentsituations, different ones of the telecommunications services referredto above may or may not be available; the teachings of the presentapplication are not limited to any particular set of services in thisrespect.

The mobile terminals 100, 106 are connected to a mobiletelecommunications network 110 through Radio Frequency (RF) links 102,108 via base stations 104, 109. The mobile telecommunications network110 may be in compliance with any commercially available mobiletelecommunications standard, such as Group Spéciale Mobile (GSM),Universal Mobile Telecommunications System (UMTS), Digital AdvancedMobile Phone system (D-AMPS), The code division multiple accessstandards (CDMA and CDMA2000), Freedom Of Mobile Access (FOMA), and TimeDivision-Synchronous Code Division Multiple Access (TD-SCDMA).

The mobile telecommunications network 110 is operatively connected to awide area network 120, which may be Internet or a part thereof. AnInternet server 122 has a data storage 124 and is connected to the widearea network 120, as is an Internet client computer 126. The server 122may host a www/wap server capable of serving www/wap content to themobile terminal 100.

A public switched telephone network (PSTN) 130 is connected to themobile telecommunications network 110 as is commonly known by a skilledperson. Various telephone terminals, including the stationary telephone132, are connected to the PSTN 130. The mobile terminal 100 is alsocapable of communicating locally via a local link 101 to one or morelocal devices 103. The local link can be any type of link with a limitedrange, such as Bluetooth, a Universal Serial Bus (USB) link, a WirelessUniversal Serial Bus (WUSB) link, an IEEE 802.11 wireless local areanetwork link, a Radio Standard link for example an RS-232 serial link,etc. The local devices 103 can for example be various sensors that cancommunicate measurement values to the mobile terminal 100 over the locallink 101.

A computer such as a palmtop can also be connected to the network bothvia a radio link such as a WiFi link, which is the popular term for aradio frequency connection using the WLAN (Wireless Local Area Network)standard IEEE 802.11.

It should be noted that the teachings of this application are alsocapable of being utilized in an internet network of which thetelecommunications network described above may be a part of.

As is commonly known the internet is a global system of interconnectedcomputer networks that interchange data by packet switching using thestandardized Internet Protocol Suite (TCP/IP). It is a “network ofnetworks” that consists of millions of private and public, academic,business, and government networks of local to global scope that arelinked by copper wires, fiber-optic cables, wireless connections, andother technologies.

The Internet carries various information resources and services, such aselectronic mail, online chat, online gaming, file transfer and filesharing, and the inter-linked hypertext documents and other resources ofthe World Wide Web (WWW).

It should be noted that even though the teachings herein are describedsolely to wireless networks it is in no respect to be limited towireless networks as such, but it to be understood to be usable in theInternet or similar networks. The teachings herein find use in anydevice having a touch input user interface where other input means, suchas keyboards and joysticks, are limited. Examples of such devices aremobile phones, Personal digital Assistants (PDAs), game consoles, mediaplayers, personal organizers, electronic dictionaries and digital imageviewers.

An embodiment 200 of the apparatus in the form of a mobile terminal 100,200 is illustrated in more detail in FIG. 2a . The mobile terminal 200comprise a main or first display 203 which in this embodiment is a touchdisplay, a microphone 206, a loudspeaker 202 and a key pad 204comprising both virtual keys 204 a and softkeys or control keys 204 band 204 c. The apparatus also comprises a navigation input key such as afive-way key 205.

Another embodiment of the apparatus 100 in the form of a computer 200 isillustrated in more detail in FIG. 2 b.

The computer 200 has a display 203, a keypad 204 and a cabinet 207 inwhich a controller and a memory are housed. It should be noted that thecabinet 207 and the display 203 may be incorporated in the same unit. Itshould also be noted that the keypad 204 may also be integrated in thesame unit as either the display 203 and/or the cabinet 207. The computer200 also has a navigational input means which in this embodiment is aso-called mouse pointer 205. Other navigational input means such astouch pads or touch screens are also possible. It should be noted thatthe navigational means may be incorporated into the same unit as thekeypad 205, the cabinet, 207 and/or the display 203.

The computer 200 can be connected to a network as in FIG. 1 througheither a direct dial-up connection, a Local Area Network connection(LAN) or through an internet connection.

Internet is a global network of interconnected computers, enabling usersto share information along multiple channels. Typically, a computer thatconnects to the Internet can access information from a vast array ofavailable servers and other computers by moving information from them tothe computer's local memory. The same connection allows that computer tosend information to servers on the network; that information is in turnaccessed and potentially modified by a variety of other interconnectedcomputers. A majority of widely accessible information on the Internetconsists of inter-linked hypertext documents and other resources of theWorld Wide Web (WWW). Computer users typically manage sent and receivedinformation with web browsers; other software for users' interface withcomputer networks includes specialized programs for electronic mail,online chat, file transfer and file sharing.

The movement of information in the Internet is achieved via a system ofinterconnected computer networks that share data by packet switchingusing the standardized Internet Protocol Suite (TCP/IP). It is a“network of networks” that consists of millions of private and public,academic, business, and government networks of local to global scopethat are linked by copper wires, fiber-optic cables, wirelessconnections, and other technologies.

The internal component, software and protocol structure of the apparatus200 will now be described with reference to FIG. 3. The apparatus has acontroller 300 which is responsible for the overall operation of themobile terminal and may be implemented by any commercially available CPU(“Central Processing Unit”), DSP (“Digital Signal Processor”) or anyother electronic programmable logic device. The controller 300 hasassociated electronic memory 302 such as Random Access Memory (RAM),Read Only Memory (ROM), Electrically Erasable Programmable Read-OnlyMemory (EEPROM), flash memory, or any combination thereof. The memory302 is used for various purposes by the controller 300, one of thembeing for storing data used by and program instructions for varioussoftware in the mobile terminal. The software includes a real-timeoperating system 320, drivers for a man-machine interface (MMI) 334, anapplication handler 332 as well as various applications such as a globalpositioning device (GPS) or other location finding device 340. Theapplications can include a message sending application 350, apositioning application 360, as well as various other applications 370,such as applications for voice calling, video calling, sending andreceiving messages such as Short Message Service (SMS), MultimediaMessage Service (MMS) or email, web browsing, an instant messagingapplication, a phone book application, a calendar application, a controlpanel application, a camera application, one or more video games, etc.It should be noted that two or more of the applications listed above maybe executed as the same application.

The MMI 334 also includes one or more hardware controllers, whichtogether with the MMI drivers cooperate with the touch display 336/203,and the keypad 338/204 as well as various other Input/Output devicessuch as microphone, speaker, vibrator, ringtone generator, LEDindicator, etc.

The software also includes various modules, protocol stacks, drivers,etc., which are commonly designated as 330 and which providecommunication services (such as transport, network and connectivity) foran RF interface 306, and optionally a Bluetooth interface 308 and/or anIrDA interface 310 for local connectivity. The RF interface 306comprises an internal or external antenna as well as appropriate radiocircuitry for establishing and maintaining a wireless link to a basestation (e.g. the link 102 and base station 104 in FIG. 1). As is wellknown to a man skilled in the art, the radio circuitry comprises aseries of analogue and digital electronic components, together forming aradio receiver and transmitter. These components include, band passfilters, amplifiers, mixers, local oscillators, low pass filters, Analogto Digital and Digital to Analog (AD/DA) converters, etc.

The mobile terminal also has a Subscriber Identity Module (SIM) card 304and an associated reader. As is commonly known, the SIM card 304comprises a processor as well as local work and data memory.

FIG. 4 show a series of screen shot views 403 of an apparatus 400. Itshould be noted that such an apparatus is not limited to a mobile phoneor a computer. In particular such an apparatus 400 is capable ofreceiving and sending messages.

In the following description it will be assumed that the display is atouch display and that a tap is performed with a stylus or finger orother touching means tapping on a position on the display. It should benoted that a tap may also be included by use of other pointing meanssuch as a mouse or touch pad controlled cursor which is positioned at aspecific position and then a clicking action is performed. This analogyis commonly known in the field and will be clear to a skilled person. Inthe description it will be assumed that a tap input comprises a clickingaction at an indicated position.

Examples of such apparatuses are computers, media players, mobilephones, personal digital assistants (PDA) and game consoles.

The apparatus 400 comprises a touch display 403 on which an applicationwindow 410 is displayed. The size of the application window 410 is onlyan example and different application window sizes may be used as will beclear to a skilled person. A controller is configured to displayinformation relating to an application in said application window 410and to receive input relating to said application through saidapplication window 410.

The application window 410 is associated with a message application(350) and a message 411 “Are you coming today?” is displayed in theapplication window 410, see FIG. 4 a.

A controller is configured to parse the message text 411 for keywords.

In one embodiment the keywords are associated with applications (350,360, 370).

In one embodiment the controller is configured to combine at least twoapplications through a keyword wherein the keyword is associated with asemantic meaning or a causality.

In one embodiment the controller is configured to execute an operationaccording to the keyword and its association.

Table 1 shows a list of keywords divided into categories and thecorresponding operations to be effected via the user interface.

In FIG. 4b a controller has identified a keyword 412 which in thisexample reads “Are” which in this example is marked by being underlined.It should be clear that other methods of marking a keyword using forexample highlighting, different colors, boxing in etc are part of theteachings herein.

The controller is configured to receive an input selecting a markedkeyword.

In this embodiment the selection is achieved by a user tapping on themarked keyword.

One alternative is to allow a user to scroll to a wanted keyword and toselect it by pressing a select key. In such an embodiment a doublemarking is used to show which are the keywords (one marking, for exampleunderlining) and which keyword is currently marked for selection (adifferent marking, for example highlighting).

In one embodiment a controller is configured to receive a selection of aword and in response thereto parse collection of keywords to find amatching keyword and in response thereto perform an associatedoperation.

A controller is configured to, in response to receiving a selection of akeyword, identify the category of the keyword and perform the operationassociated therewith.

In this example the category is QUESTION and the controller displays adialogue window 413 giving the user a series of options 414 for how toreply to the question. In this example the two options given are to senda reply indicating “Yes” 414 a or to send a reply indicating “No” 414 b.

A controller is configured to receive an input selecting one of thedisplayed options 414 and to execute an operation accordingly.

In this example a user taps on the first option 414 a using a stylus415.

The controller performs the operation of generating a reply message 417containing a response text 416 corresponding to the option 414 selected.

In one embodiment the controller is configured to send the generatedmessage 417 automatically.

In one embodiment the controller is configured to launch a messageeditor application to allow for further editing of the generated message417.

In FIG. 4d the controller has generated a response message 417containing the response text “Yes” 416 and executed a send operation forthe message.

In this example the controller is configured to display a notification418 indicating what operation is being taken so that the user is able tomaintain an overview of the apparatuses operation.

FIG. 5a shows a flowchart of a general method according to the describedmethods above. In block 510 a message is opened. In block 520 acontroller searches for keywords. In one embodiment the controllerparses the message for keywords. In block 530 a user indicates akeyword. In one embodiment the word is indicated or selected by beingtapped on. In one embodiment a user first indicates a wanted keyword byselecting a word and the controller then searches a collection ofdatabases for a matching keyword. In block 540 a controller performs anoperation that is associated with the selected keyword.

FIG. 5b shows a similar flowchart comprising a further block 535 where acontroller is configured to retrieve information to use with theassociated operation.

In one embodiment the processing of the keyword is performed locally.Thus a message text can be handled irrespective of its origin or format.

Furthermore as the two steps of finding a keyword and launching anassociated application does not require any artificial intelligence orcomplicated algorithms the teachings herein are simple to executerequiring only a minimum of resources.

Furthermore a user is provided with a very intuitive manner of creatingreplies making sense and being adapted to the incoming text.

In one embodiment a controller is configured to display the main contentof the message to be created at the same time as at least a portion ofthe message being replied to is displayed. See for example FIGS. 4c, 6cand 7c where a pop-up window is displayed as the dialogue box 413, 613,713. This allows a user to simultaneously see both the message beingreplied to and the proposed reply which provides a u6cser with a goodand intuitive understanding of the operation of the apparatus. In oneembodiment the controller is configured to display at least the portionof the message text 411, 611 which comprises the selected keyword. Thisprovides a clear visual coupling of the keyword to the proposedresponse. See FIGS. 4c , and 7 c.

FIG. 6 show a series of screen shot views 603 of an apparatus 600. Itshould be noted that such an apparatus is not limited to a mobile phoneor a computer. In particular such an apparatus 600 is capable ofreceiving and sending messages.

In the following description it will be assumed that the display is atouch display and that a tap is performed with a stylus or finger orother touching means tapping on a position on the display. It should benoted that a tap may also be included by use of other pointing meanssuch as a mouse or touch pad controlled cursor which is positioned at aspecific position and then a clicking action is performed. This analogyis commonly known in the field and will be clear to a skilled person. Inthe description it will be assumed that a tap input comprises a clickingaction at an indicated position.

Examples of such apparatuses are computers, media players, mobilephones, personal digital assistants (PDA) and game consoles.

The apparatus 600 comprises a touch display 603 on which an applicationwindow 610 is displayed. The size of the application window 610 is onlyan example and different application window sizes may be used as will beclear to a skilled person. A controller is configured to displayinformation relating to an application in said application window 610and to receive input relating to said application through saidapplication window 610.

The application window 610 is associated with a message application(350) and a message 611 “Where are you?” is displayed in the applicationwindow 610, see FIG. 6 a.

A controller is configured to parse the message text 611 for keywords.

In FIG. 6b a controller has identified a keyword 612 which in thisexample reads “Where” which in this example is marked by beingunderlined. It should be clear that other methods of marking a keywordusing for example highlighting, different colors, boxing in etc are partof the teachings herein.

The controller is configured to receive an input selecting a markedkeyword 612.

In this embodiment the selection is achieved by a user tapping on themarked keyword. As has been described with reference to FIG. 4 severalalternatives of how to indicate a keyword exist.

A controller is configured to, in response to receiving a selection of akeyword, identify the category of the keyword and perform the operationassociated therewith.

In one embodiment the controller is configured to retrieve informationcorresponding to the associated operation.

In this example the category is LOCATION and the controller isconfigured to retrieve information corresponding to the associatedoperation, which in this example is a location which is retrieved from alocation finding device such as an internal (or external) GPS device(340).

In FIG. 6c a controller displays a dialogue window 613 giving the useran option 614 for how to reply to the message 611. In this example theoptions given are whether to reply 614 a using a location 619 retrievedfrom the GPS device (340) or to edit 614 b the response first. In oneembodiment, such as in this example, the controller is also configuredto provide an explanatory text 620 for the location 619.

A controller is configured to receive an input selecting one of thedisplayed options 614 and to execute an operation accordingly.

In this example a user taps on the first option 614 a using a stylus615.

The controller performs the operation of generating a reply message 617containing a response text 616 corresponding to the option 614 selected.In this example the response text 616 is generated to be the same as theexplanatory text 620. In one embodiment the response text 616 includesthe explanatory text 620 and other text making the response text 616more fluent or coherent with the context.

In one embodiment the controller is configured to attach the retrievedinformation 619 to the generated text, see FIG. 6 d.

In FIG. 6d the controller has generated a response message 617containing a response text “Near London Bridge” 616 and the retrievedinformation 619 in the form of an attachment and executed a sendoperation for the message. In this example the attachment is an imagefile representing a map. In one example the attachment is included inthe response text 616.

In one embodiment a controller is configured to receive input indicatinga second keyword. In one embodiment a controller is configured toperform an operation associated with both keywords. In one embodiment acontroller is configured to perform an operation associated with thefirst keyword using the second keyword as data. In one embodiment acontroller is configured to perform an operation associated with thesecond keyword using the first keyword as data.

FIG. 7 show a series of screen shot views 703 of an apparatus 700. Itshould be noted that such an apparatus is not limited to a mobile phoneor a computer. In particular such an apparatus 700 is capable ofreceiving and sending messages.

In the following description it will be assumed that the display is atouch display and that a tap is performed with a stylus or finger orother touching means tapping on a position on the display. It should benoted that a tap may also be included by use of other pointing meanssuch as a mouse or touch pad controlled cursor which is positioned at aspecific position and then a clicking action is performed. This analogyis commonly known in the field and will be clear to a skilled person. Inthe description it will be assumed that a tap input comprises a clickingaction at an indicated position.

Examples of such apparatuses are computers, media players, mobilephones, personal digital assistants (PDA) and game consoles.

The apparatus 700 comprises a touch display 703 on which an applicationwindow 710 is displayed. The size of the application window 710 is onlyan example and different application window sizes may be used as will beclear to a skilled person. A controller is configured to displayinformation relating to an application in said application window 710and to receive input relating to said application through saidapplication window 710.

The application window 710 is associated with a message application(350) and a message 711 “What time is the meeting?” is displayed in theapplication window 710, see FIG. 7 a.

A controller is configured to parse the message text 711 for keywords.

In FIG. 7b a controller has identified a first keyword 712 a which inthis example reads “time” which in this example is marked by beingunderlined. It should be clear that other methods of marking a keywordusing for example highlighting, different colors, boxing in etc are partof the teachings herein.

In this example the controller has identified a second keyword 712 bwhich in this example is “meeting” which is also displayed as beingmarked.

The controller is configured to receive an input selecting a markedkeyword 712 a.

The controller is further configured to receive an input indicating asecond keyword 712 b.

In this embodiment the selection is achieved by a user tapping on themarked keyword. As has been described with reference to FIG. 4 severalalternatives of how to indicate a keyword exist.

A controller is configured to, in response to receiving a selection of akeyword, identify the category of the keyword and perform the operationassociated therewith.

In one embodiment the controller is further configured to pair a firstkeyword with a second keyword.

In this example the category of the first keyword is TIME and thecontroller is configured to retrieve information corresponding to theassociated operation, which in this example is to open a calendarapplication.

In one embodiment the associated operation is to open a clockapplication.

In one embodiment the controller is configured to receive inputindicating a date and/or time in the calendar or clock view 713. Theuser may thus select a date and/or time by tapping on it in the calendaror clock view 713. A controller is configured to display the dates,times or calendar entries as selectable options 714.

In one embodiment a controller is configured to search for the secondkeyword 712 b in the opened application.

In one embodiment, where the second keyword corresponds to a meeting, acontroller is configured to search for a meeting which includes thesender of the message 711 as a participant.

In one embodiment a controller is configured to search for the secondkeyword in the opened application using a text comparison search. Thisenables the controller to find a calendar entry corresponding to aselected keyword being used as data. For example, if the text 711 is“What time do we play chess” (keywords underlined) the controller opensthe calendar application as this is associated with “time” and thensearches for an entry containing the second keyword “chess”.

In FIG. 7c a controller displays a dialogue window 713 presenting acalendar view. One date is marked in the calendar view for selectionbeing a first option 714 a for how to reply to the message 711. In thisexample the options given are whether to reply 714 a using a time anddate 719 retrieved from the calendar application or to edit 714 b theresponse first.

In one embodiment the marked date 714 a corresponds to the foundmeeting.

In one embodiment, such as in this example, the controller is alsoconfigured to provide an explanatory text 720 for the time and date 719.

A controller is configured to receive an input selecting one of thedisplayed options 714 and to execute an operation accordingly.

In this example a user taps on the first option 714 a using a stylus715.

The controller performs the operation of generating a reply message 717containing a response text 716 corresponding to the option 714 selected.In this example the response text 716 is generated to be the same as theexplanatory text 720 combined with the time and date 719.

In FIG. 7d the controller has generated a response message 717containing a response text “At 10:00 Jun. 6, 2009” 716. In this examplethe explanatory text 720 is “At”.

In one embodiment according to all of the exemplary apparatuses above acontroller is configured to receive a user selection of keywords and isconfigured to not search the text for keywords. In such an embodimentblock 530 is executed before block 520. In block 530 a user indicates akeyword by selecting a word in the text. In block 520 a controllersearches a collection of keywords to find one matching the selected wordand from that finding an associated operation.

The various aspects of what is described above can be used alone or invarious combinations. The teaching of this application may beimplemented by a combination of hardware and software, but can also beimplemented in hardware or software. The teaching of this applicationcan also be embodied as computer readable code on a computer readablemedium. It should be noted that the teaching of this application is notlimited to the use in mobile communication terminals such as mobilephones, but can be equally well applied in Personal Digital Assistants(PDAs), game consoles, media players, personal organizers, electronicdictionaries, computers or any other device designed for receiving andsending messages.

Examples of computer-readable medium are data storage mediums such asCompact Disks (CD), Digital Video disks (DVD), Random Access Memory(RAM), Read Only Memory (ROM), hard drives and other disks such as USBdisks (Universal Serial Bus).

The teaching of the present application has numerous advantages.Different embodiments or implementations may yield one or more of thefollowing advantages. It should be noted that this is not an exhaustivelist and there may be other advantages which are not described herein.For example, one advantage of the teaching of this application is that amessage may be replied to in a fast and efficient manner which requireslittle learning or understanding of the underlying system. It also doesnot require any extensive modification to a system and is easy to usebetween different messaging systems requiring little standardization ifany as the processing is performed locally in an apparatus and is notpart of the message sent.

Although the teaching of the present application has been described indetail for purpose of illustration, it is understood that such detail issolely for that purpose, and variations can be made therein by thoseskilled in the art without departing from the scope of the teaching ofthis application.

For example, it should be appreciated that the teachings of the presentapplication may also be applied to various types of electronic devices,such as mobile phones, media players, palmtop computers, laptopcomputers, desktop computers, workstations, mainframe computers, gameconsoles and so on. It should also be noted that there are manyalternative ways of implementing the methods and apparatuses of theteachings of the present application.

Features described in the preceding description may be used incombinations other than the combinations explicitly described.

Whilst endeavouring in the foregoing specification to draw attention tothose features of the invention believed to be of particular importanceit should be understood that the applicant claims protection in respectof any patentable feature or combination of features hereinbeforereferred to and/or shown in the drawings whether or not particularemphasis has been placed thereon.

The term “comprising” as used in the claims does not exclude otherelements or steps. The term “a” or “an” as used in the claims does notexclude a plurality. A unit or other means may fulfill the functions ofseveral units or means recited in the claims.

TABLE 1 Category Keyword UI operations Time when, time, date Opencalendar or clock Location Where, position, location Get location fromGPS application Question Whether, if, yes or no A dialog with “yes” and“no” selection. Special Term Company Name, famous Get the related infoin people's name details, like location, how to reach there, etc PublicInfo Weather, traffic info, Get the info like the ticket price weather,the price etc Some short For example: How are A dialog with “fine” andsentences you? “not good” selection which are frequently used

1. An apparatus comprising: a wireless communications interface; a userinterface; and a controller coupled to the wireless communicationsinterface and the man-machine interface, and programmably configured to:cause display, at the user interface, of message text in a messagereceived via the wireless communications interface; receive an input viathe user interface indicating first and second keywords in the displayedmessage text; open an application associated with the first keyword; inthe opened application, retrieve information using the second keyword asa search term; generate a response message comprising the retrievedinformation; and cause sending of the response message via the wirelesscommunications interface.
 2. The apparatus of claim 1, wherein saidcontroller is further configured to: parse the message text to identifya plurality of keywords comprising the first and second keywords; andmark the identified keywords in the displayed message text.
 3. Theapparatus of claim 1, wherein said controller is further configured togenerate the response message to comprise the retrieved information. 4.The apparatus of claim 1, wherein, in opening the application, saidcontroller is further configured to: cause display of a dialogue windowpresenting at least one option associated with the first keyword; andreceive an input via the user interface indicating a selected one of theat least one option.
 5. The apparatus of claim 4, wherein the dialoguewindow is displayed simultaneously with at least a portion of thedisplayed message text.
 6. The apparatus of claim 1, wherein the userinterface comprises a touch display; and wherein the received inputscomprise a tap of the touch display.
 7. A method comprising: displaying,at an apparatus, message text in a message received at the apparatusover a communications network; receiving, at the apparatus, an inputindicating first and second keywords in the displayed message text;opening an application associated with the first keyword; in the openedapplication, retrieving information using the second keyword as a searchterm; generating a response message comprising the retrievedinformation; and sending the response message over the communicationsnetwork.
 8. The method of claim 7, further comprising: parsing themessage text to identify a plurality of keywords comprising the firstand second keywords; and marking the identified keywords in thedisplayed message text.
 9. The method of claim 7, wherein the generatingstep comprises generating the response message to comprise the retrievedinformation.
 10. The method of claim 7, wherein the step of opening theapplication comprises: displaying a dialogue window presenting at leastone option associated with the first keyword; and receiving an inputindicating a selected one of the at least one option.
 11. The method ofclaim 10, wherein the dialogue window is displayed simultaneously withat least a portion of the displayed message text.
 12. A non-transitorycomputer readable medium comprising at least computer program code that,when executed by a processor in an apparatus, causes the apparatus toperform a plurality of operations comprising: displaying, at theapparatus, message text in a message received at the apparatus over acommunications network; receiving, at the apparatus, an input indicatingfirst and second keywords in the displayed message text; opening anapplication associated with the first keyword; in the openedapplication, retrieving information using the second keyword as a searchterm; generating a response message comprising the retrievedinformation; and sending the response message over the communicationsnetwork.
 13. The computer readable medium of claim 12, wherein theplurality of operations further comprises: parsing the message text toidentify a plurality of keywords comprising the first and secondkeywords; and marking the identified keywords in the displayed messagetext.
 14. The computer readable medium of claim 12, wherein thegenerating operation comprises generating the response message tocomprise the retrieved information.
 15. The computer readable medium ofclaim 12, wherein the operation of opening the application comprises:displaying a dialogue window presenting at least one option associatedwith the first keyword; and receiving an input indicating a selected oneof the at least one option.
 16. The computer readable medium of claim15, wherein the dialogue window is displayed simultaneously with atleast a portion of the displayed message text.